package Commons;

import java.io.Serializable;
import java.util.ArrayList;

import javax.swing.JButton;

public class Spieler implements Serializable {

	/**
	 * @author J�rgen
	 */
	private static final long serialVersionUID = 1L;
	public String spielername;

	boolean rundenBeginner = false;
	boolean sieger;
	boolean isStrasse = false;
	boolean isSet = false;
	boolean isEineKarte = false;
	int stichPunkte;
	int gesammeltenPunkte = 0;
	int kartenBestand = 17;
	boolean hatGespielt = false;

	boolean keineKarten;
	boolean rundenGewinner = false;
	boolean GegnerHatGespielt = false;
	boolean blockiert = false;
	boolean hatGepasst = false;
	boolean stichGewinner = false;
	ArrayList<Karte> vierzehnspieler1Karten = new ArrayList<>();
	ArrayList<Karte> vierzehnspieler2Karten = new ArrayList<>();
	ArrayList<Karte> zuSpielendenKarten = new ArrayList<>();
	ArrayList<Karte> nichtZuSpielendenKarten = new ArrayList<>();
	ArrayList<JButton> gespielteKarten = new ArrayList<>();
	


	ArrayList<Karte> jokerKarten = new ArrayList<>();

	public Spieler(String spielername, boolean ersterSpielerErmitteln,
			boolean sieger,boolean blockiert, ArrayList<Karte> vierzehnspieler1Karten,
			ArrayList<Karte> vierzehnspieler2Karten, ArrayList<Karte> zuSpielendenKarten, ArrayList<JButton> gespielteKarten) {

		this.spielername = spielername;

		this.rundenBeginner = ersterSpielerErmitteln;
		this.sieger = sieger;
		this.vierzehnspieler1Karten = vierzehnspieler1Karten;
		this.vierzehnspieler2Karten = vierzehnspieler2Karten;
		this.zuSpielendenKarten = zuSpielendenKarten;
		this.gespielteKarten = gespielteKarten;

		jokerKarten.add(new Karte(2, 11, true));
		jokerKarten.add(new Karte(3, 12, true));
		jokerKarten.add(new Karte(5, 13, true));
		System.out.println("Neuer Spieler:"+ GegnerHatGespielt);
	}

	public String getSpielername() {
		return spielername;
	}
	
	

	public boolean isGegnerHatGespielt() {
		return GegnerHatGespielt;
	}

	public void setGegnerHatGespielt(boolean gegnerHatGespielt) {
		GegnerHatGespielt = gegnerHatGespielt;
	}

	public void setSpielername(String spielername) {
		this.spielername = spielername;
	
	}

	public boolean isRundenBeginner() {
		return rundenBeginner;
	}

	public void setRundenBeginner(boolean rundenBeginner) {
		this.rundenBeginner = rundenBeginner;
	}

	public boolean isSieger() {
		return sieger;
	}

	public void setSieger(boolean sieger) {
		this.sieger = sieger;
	}

	public ArrayList<Karte> getJokerKarten() {
		return jokerKarten;
	}

	public void setJokerKarten(ArrayList<Karte> jokerKarten) {
		this.jokerKarten = jokerKarten;
	}

	public ArrayList<Karte> getVierzehnSpieler1() {
		return vierzehnspieler1Karten;
	}

	public void setVierzehnSpieler1(ArrayList<Karte> vierzehnspieler1Karten) {
		this.vierzehnspieler1Karten = vierzehnspieler1Karten;
	}

	public ArrayList<Karte> getVierzehnSpieler2() {
		return vierzehnspieler2Karten;
	}

	public void setVierzehnSpieler2(ArrayList<Karte> vierzehnspieler1Karten) {
		this.vierzehnspieler2Karten = vierzehnspieler1Karten;
	}

	public int getStichPunkte() {
		return stichPunkte;
	}

	public void setStichPunkte(int stichPunkte) {
		this.stichPunkte = stichPunkte;
	}

	public boolean isKeineKarten() {
		return keineKarten;
	}

	public void setKeineKarten(boolean keineKarten) {
		this.keineKarten = keineKarten;
	}

	public boolean isRundenGewinner() {
		return rundenGewinner;
	}

	public void setRundenGewinner(boolean rundenGewinner) {
		this.rundenGewinner = rundenGewinner;
	}



	

	@Override
	public String toString() {
		return "Spieler [spielername=" + spielername + ", rundenBeginner="
				+ rundenBeginner + ", sieger=" + sieger + ", stichPunkte="
				+ stichPunkte + ", gesammeltenPunkte=" + gesammeltenPunkte
				+ ", keineKarten=" + keineKarten + ", rundenGewinner="
				+ rundenGewinner + ", blockiert=" + blockiert
				+ ", stichGewinner=" + stichGewinner
				+ ", vierzehnspieler1Karten=" + vierzehnspieler1Karten
				+ ", vierzehnspieler2Karten=" + vierzehnspieler2Karten
				+ ", zuSpielendenKarten=" + zuSpielendenKarten
				+ ", nichtZuSpielendenKarten=" + nichtZuSpielendenKarten
				+ ", jokerKarten=" + jokerKarten + ","
						+ "gespielteKarten="+gespielteKarten+"]";
	}

	public int getGesammeltenPunkte() {
		return gesammeltenPunkte;
	}

	public void setGesammeltenPunkte(int gesammeltenPunkte) {
		
		this.gesammeltenPunkte = gesammeltenPunkte;
	}

	public ArrayList<Karte> getNichtZuSpielendenKarten() {
		return nichtZuSpielendenKarten;
	}

	public void setNichtZuSpielendenKarten(ArrayList<Karte> nichtZuSpielendenKarten) {
		this.nichtZuSpielendenKarten = nichtZuSpielendenKarten;
	}

	public ArrayList<Karte> getZuSpielendenKarten() {
		return zuSpielendenKarten;
	}

	public void setZuSpielendenKarten(ArrayList<Karte> zuSpielendenKarten) {
		this.zuSpielendenKarten = zuSpielendenKarten;
	}

	public boolean isBlockiert() {
		return blockiert;
	}

	public void setBlockiert(boolean blockiert) {
		this.blockiert = blockiert;
	}

	public boolean isStichGewinner() {
		return stichGewinner;
	}

	public void setStichGewinner(boolean stichGewinner) {
		this.stichGewinner = stichGewinner;
	}

	public ArrayList<JButton> getGespielteKarten() {
		return gespielteKarten;
	}

	public void setGespielteKarten(ArrayList<JButton> zuVerschiebendeKarten2) {
		this.gespielteKarten = zuVerschiebendeKarten2;
	}
	public boolean isStrasse() {
		return isStrasse;
	}

	public void setStrasse(boolean isStrasse) {
		this.isStrasse = isStrasse;
	}

	public boolean isSet() {
		return isSet;
	}

	public void setSet(boolean isSet) {
		this.isSet = isSet;
	}

	public boolean isEineKarte() {
		return isEineKarte;
	}

	public void setEineKarte(boolean isEineKarte) {
		this.isEineKarte = isEineKarte;
	}
	public boolean isHatGepasst() {
		return hatGepasst;
	}

	public void setHatGepasst(boolean hatGepasst) {
		this.hatGepasst = hatGepasst;
	}

	public boolean isHatGespielt() {
		return hatGespielt;
	}

	public void setHatGespielt(boolean hatGespielt) {
		this.hatGespielt = hatGespielt;
	}

	public int getKartenBestand() {
		return kartenBestand;
	}

	public void setKartenBestand(int kartenBestand) {
		this.kartenBestand = kartenBestand;
	}
	
	
	
}
